package com.tinckay.service;

import com.tinckay.entity.dto.TransportDto;
import com.tinckay.entity.po.Task;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tinckay.entity.po.TranProcess;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDate;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author Jean
 * @since 2018-10-21
 */
public interface TaskService extends IService<Task> {


    /**
     * 司机运输统计信息查询
     *
     * @param transportTime
     * @return
     */
    TransportDto tranInfo(String transportTime);

    /**
     * 运输车辆编号,日期,仓体编号，运输次数，平均耗时统计
     *
     * @param tranTimes
     * @param workDate
     * @param barnNo
     * @param vehNo
     * @return
     */
    List<Map<String, Object>> countTask(Integer tranTimes, String workDate, String barnNo, String vehNo);

    /**
     * 查询单次任务详情
     *
     * @param taskId
     * @return
     */
    Task taskInfo(@Param("taskId") long taskId);


    /**
     * 实时运输状态
     *
     * @param vehNo
     * @return
     */
    Map<String, Object> latestTransport(String vehNo);

    /**
     * 当日车辆运输过程
     *
     * @param vehNo
     * @return
     */
    List<Task> vehTranProcess(@Param("vehNo") String vehNo);

    /**
     * 当日已完成浇筑计划过程耗时
     *
     * @return
     */
    List<Map<String, Object>> pourProcessTimeInfo();

}
